package com.zr.gdms.service;


import java.util.List;

import com.zr.gdms.model.Application;

import net.sf.json.JSONArray;
/**
 * 课题管理服务层
 * @author 张云辉
 *
 */


import net.sf.json.JSONArray;

/**
 * @author  shichongming
 * @E-mail: 
 * @date 创建时间：2017年6月1日 下午7:55:21 
 * @version 1.0 
 * @parameter  
 * @since  
 * @return  
 */

public interface CourseService {
	
	
	/**
	 * 上传课题到请求表根据规定时间
	 * @param time 当前时间
	 * @param apptype 请求类型
	 * @param appcontent 请求内容
	 * @param appstate 
	 * @return 是否请求成功
	 */
	public boolean AddCourseByTime(String apptype,String appcontent,int tid, String appstate);
	
	/**
	 * 获取请求表的信息
	 * @param tid 教师的用户号
	 * @return 请求表的信息
	 */
	public List<Application> findCourseFromApByUid(int uid);
	/**
	 * 获取此教师所有审核通过的课题
	 * @return 此教师所有审核通过的课题
	 */
	public JSONArray findAllCourseByTid(int tid);
	/**
	 * 通过Uid获取对应的Tid
	 * @return tid
	 */
	public int findTidByUid(int uid);
	/**
	 * 根据审核结果删除课程
	 * @return 是否成功删除课程
	 */
	boolean delCourseByAppid(int appid);
	/**
	 * 根据审核结果修改课程
	 * @return 是否成功修改课程
	 */
	boolean UpdateCourseByAppid(int appid, String appcontent);

	    //展示所有课题信息----石铳铭
		//1,获取总数进行分页		
		public int sgetCountsCourse();
		//2,分页求数量
		public JSONArray showAllCourse(int page,int rows);
	
		
		
		
		
		//根据教师信息查询对应的课题-----石铳铭
		//1.根据教师信息求出相应的总数-----石铳铭			
			public int sgetCountsCourseByTeacherInformation(String information);
		//2.根据教师的信息进行分页查询-----石铳铭
			public JSONArray sfindCourseByTeacherInformation(String infomation,int page,int rows);
	


			//管理员修改课题信息----石铳铭
			public boolean sAdminUpdateCourseByCid(String cname,String cstate,int tid,int cid);


			
			//展示待审核的课题--石铳铭
			//1.获取待审核的课题总数total
			public int sGetWaitAuditingCourseTotal();
			//2.获取待审核课题的信息进行分页
			public JSONArray sShowWaitAuditingCourse(String apptype,int page,int rows);
			

			
			//管理员审核课题----石铳铭
			public boolean sAuditingCourse(int appid);
            //将审核的课题信息新增到course表中
            public boolean sAddAuditingCourse(String cname,String cstate,int tid);
          //删除待审核表中的flase状态的额课题(即已经审核成功的课题)
        	public boolean sDeleteAuditingCourse(int appid);




	/**
	 * 录入成绩根据sid
	 * @param sid 学生学号
	 * @param score 成绩
	 * @return 是否录入成功
	 */
	public boolean addScoreBySid(int sid,int score);
	/**
	 * 查询页面需要展示的数据表通过tid
	 * @param tid 老师的工号
	 * @return 数据表格
	 */
	public JSONArray getScoreByTid(int tid);

}

